package com.ruoyi.common.config;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class ConfigReader {

    private static final Properties properties = new Properties();

    // 静态代码块：初始化时加载配置文件
    static {
        try (InputStream input = ConfigReader.class.getClassLoader().getResourceAsStream("application-chat.properties")) {
            if (input == null) {
                throw new RuntimeException("未找到配置文件: application-test.properties");
            }
            // 加载配置文件
            properties.load(input);
        } catch (IOException e) {
            throw new RuntimeException("加载配置文件失败: " + e.getMessage());
        }
    }

    // 读取boolean类型的配置项
    public static boolean getBoolean(String key, boolean defaultValue) {
        String value = properties.getProperty(key);
        if (value == null) {
            return defaultValue; // 未配置时使用默认值
        }
        return Boolean.parseBoolean(value.trim());
    }

    public static String getString(String key, String defaultValue) {
        String value = properties.getProperty(key);
        if (value == null) {
            return defaultValue; // 未配置时使用默认值
        }
        return value.trim();
    }


    public static int getInt(String key, int defaultValue) {
        String value = properties.getProperty(key);
        if (value == null) {
            return defaultValue; // 未配置时使用默认值
        }
        return Integer.parseInt(value.trim());
    }
}
